<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkCellRenderer</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="index.html" title="GTK+ Reference Manual">
<link rel="up" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets">
<link rel="prev" href="GtkCellLayout.html" title="GtkCellLayout">
<link rel="next" href="GtkCellEditable.html" title="GtkCellEditable">
<meta name="generator" content="GTK-Doc V1.11 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="gtk.html" title="Part I. GTK+ Overview">
<link rel="part" href="gtkbase.html" title="Part II. GTK+ Core Reference">
<link rel="part" href="gtkobjects.html" title="Part III. GTK+ Widgets and Objects">
<link rel="chapter" href="ch01.html" title="Object Hierarchy">
<link rel="chapter" href="ch02.html" title="Widget Gallery">
<link rel="chapter" href="WindowWidgets.html" title="Windows">
<link rel="chapter" href="DisplayWidgets.html" title="Display Widgets">
<link rel="chapter" href="ButtonWidgets.html" title="Buttons and Toggles">
<link rel="chapter" href="NumericEntry.html" title="Numeric/Text Data Entry">
<link rel="chapter" href="TextWidgetObjects.html" title="Multiline Text Editor">
<link rel="chapter" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets">
<link rel="chapter" href="MenusAndCombos.html" title="Menus, Combo Box, Toolbar">
<link rel="chapter" href="Actions.html" title="Action-based menus and toolbars">
<link rel="chapter" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)">
<link rel="chapter" href="LayoutContainers.html" title="Layout Containers">
<link rel="chapter" href="Ornaments.html" title="Ornaments">
<link rel="chapter" href="ScrollingWidgets.html" title="Scrolling">
<link rel="chapter" href="Printing.html" title="Printing">
<link rel="chapter" href="MiscObjects.html" title="Miscellaneous">
<link rel="chapter" href="AbstractObjects.html" title="Abstract Base Classes">
<link rel="chapter" href="PlugSocket.html" title="Cross-process Embedding">
<link rel="chapter" href="SpecialObjects.html" title="Special-purpose features">
<link rel="chapter" href="RecentDocuments.html" title="Recently Used Documents">
<link rel="chapter" href="Builder.html" title="Interface builder">
<link rel="chapter" href="DeprecatedObjects.html" title="Deprecated">
<link rel="part" href="migrating.html" title="Part IV. Migrating from Previous Versions of GTK+">
<link rel="chapter" href="gtk-migrating-checklist.html" title="Migration Checklist">
<link rel="chapter" href="gtk-migrating-GtkFileChooser.html" title="Migrating from GtkFileSelection to GtkFileChooser">
<link rel="chapter" href="gtk-migrating-GtkAction.html" title="Migrating from old menu and toolbar systems to GtkAction">
<link rel="chapter" href="gtk-migrating-GtkComboBox.html" title="Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry">
<link rel="chapter" href="gtk-migrating-GtkIconView.html" title="Migrating from GnomeIconList to GtkIconView">
<link rel="chapter" href="gtk-migrating-GtkAboutDialog.html" title="Migrating from GnomeAbout to GtkAboutDialog">
<link rel="chapter" href="gtk-migrating-GtkColorButton.html" title="Migrating from GnomeColorPicker to GtkColorButton">
<link rel="chapter" href="gtk-migrating-GtkAssistant.html" title="Migrating from GnomeDruid to GtkAssistant">
<link rel="chapter" href="gtk-migrating-GtkRecentChooser.html" title="Migrating from EggRecent to GtkRecentChooser">
<link rel="chapter" href="gtk-migrating-GtkLinkButton.html" title="Migrating from GnomeHRef to GtkLinkButton">
<link rel="chapter" href="gtk-migrating-GtkBuilder.html" title="Migrating from libglade to GtkBuilder">
<link rel="chapter" href="gtk-migrating-tooltips.html" title="Migrating from GtkTooltips to GtkTooltip">
<link rel="part" href="pt05.html" title="Part V. GTK+ Tools">
<link rel="glossary" href="glossary.html" title="Glossary">
<link rel="index" href="api-index-full.html" title="Index of all symbols">
<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
<link rel="index" href="api-index-2-2.html" title="Index of new symbols in 2.2">
<link rel="index" href="api-index-2-4.html" title="Index of new symbols in 2.4">
<link rel="index" href="api-index-2-6.html" title="Index of new symbols in 2.6">
<link rel="index" href="api-index-2-8.html" title="Index of new symbols in 2.8">
<link rel="index" href="api-index-2-10.html" title="Index of new symbols in 2.10">
<link rel="index" href="api-index-2-12.html" title="Index of new symbols in 2.12">
<link rel="index" href="api-index-2-14.html" title="Index of new symbols in 2.14">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="GtkCellLayout.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="TreeWidgetObjects.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GTK+ Reference Manual</th>
<td><a accesskey="n" href="GtkCellEditable.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#GtkCellRenderer.synopsis" class="shortcut">Top</a>
                 | 
                <a href="#GtkCellRenderer.description" class="shortcut">Description</a>
                 | 
                <a href="#GtkCellRenderer.object-hierarchy" class="shortcut">Object Hierarchy</a>
                 | 
                <a href="#GtkCellRenderer.properties" class="shortcut">Properties</a>
                 | 
                <a href="#GtkCellRenderer.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry" lang="en">
<a name="GtkCellRenderer"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkCellRenderer.top_of_page"></a>GtkCellRenderer</span></h2>
<p>GtkCellRenderer — An object for rendering a single cell on a GdkDrawable</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="GtkCellRenderer.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">

#include &lt;gtk/gtk.h&gt;

enum                <a class="link" href="GtkCellRenderer.html#GtkCellRendererState" title="enum GtkCellRendererState">GtkCellRendererState</a>;
enum                <a class="link" href="GtkCellRenderer.html#GtkCellRendererMode" title="enum GtkCellRendererMode">GtkCellRendererMode</a>;
                    <a class="link" href="GtkCellRenderer.html#GtkCellRenderer-struct" title="GtkCellRenderer">GtkCellRenderer</a>;
                    <a class="link" href="GtkCellRenderer.html#GtkCellRendererClass" title="GtkCellRendererClass">GtkCellRendererClass</a>;
void                <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-get-size" title="gtk_cell_renderer_get_size ()">gtk_cell_renderer_get_size</a>          (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *cell_area,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *x_offset,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *y_offset,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *width,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *height);
void                <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-render" title="gtk_cell_renderer_render ()">gtk_cell_renderer_render</a>            (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/gdk/gdk-Windows.html#GdkWindow"
>GdkWindow</a> *window,
                                                         <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *background_area,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *cell_area,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *expose_area,
                                                         <a class="link" href="GtkCellRenderer.html#GtkCellRendererState" title="enum GtkCellRendererState">GtkCellRendererState</a> flags);
<a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-activate" title="gtk_cell_renderer_activate ()">gtk_cell_renderer_activate</a>          (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/gdk/gdk-Event-Structures.html#GdkEvent"
>GdkEvent</a> *event,
                                                         <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
                                                         const <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
>gchar</a> *path,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *background_area,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *cell_area,
                                                         <a class="link" href="GtkCellRenderer.html#GtkCellRendererState" title="enum GtkCellRendererState">GtkCellRendererState</a> flags);
<a class="link" href="GtkCellEditable.html" title="GtkCellEditable">GtkCellEditable</a> *   <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-start-editing" title="gtk_cell_renderer_start_editing ()">gtk_cell_renderer_start_editing</a>     (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/gdk/gdk-Event-Structures.html#GdkEvent"
>GdkEvent</a> *event,
                                                         <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
                                                         const <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
>gchar</a> *path,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *background_area,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *cell_area,
                                                         <a class="link" href="GtkCellRenderer.html#GtkCellRendererState" title="enum GtkCellRendererState">GtkCellRendererState</a> flags);
void                <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-editing-canceled" title="gtk_cell_renderer_editing_canceled ()">gtk_cell_renderer_editing_canceled</a>  (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell);
void                <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-stop-editing" title="gtk_cell_renderer_stop_editing ()">gtk_cell_renderer_stop_editing</a>      (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> canceled);
void                <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-get-fixed-size" title="gtk_cell_renderer_get_fixed_size ()">gtk_cell_renderer_get_fixed_size</a>    (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *width,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *height);
void                <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-set-fixed-size" title="gtk_cell_renderer_set_fixed_size ()">gtk_cell_renderer_set_fixed_size</a>    (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> width,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> height);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="GtkCellRenderer.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a
href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"
>GObject</a>
   +----<a
href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned"
>GInitiallyUnowned</a>
         +----<a class="link" href="GtkObject.html" title="GtkObject">GtkObject</a>
               +----GtkCellRenderer
                     +----<a class="link" href="GtkCellRendererText.html" title="GtkCellRendererText">GtkCellRendererText</a>
                     +----<a class="link" href="GtkCellRendererPixbuf.html" title="GtkCellRendererPixbuf">GtkCellRendererPixbuf</a>
                     +----<a class="link" href="GtkCellRendererProgress.html" title="GtkCellRendererProgress">GtkCellRendererProgress</a>
                     +----<a class="link" href="GtkCellRendererToggle.html" title="GtkCellRendererToggle">GtkCellRendererToggle</a>
</pre>
</div>
<div class="refsect1" lang="en">
<a name="GtkCellRenderer.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--cell-background" title='The "cell-background" property'>cell-background</a>"          <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
>gchar</a>*                : Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--cell-background-gdk" title='The "cell-background-gdk" property'>cell-background-gdk</a>"      <a
href="/usr/share/gtk-doc/html/gdk/gdk-Colormaps-and-Colors.html#GdkColor"
>GdkColor</a>*             : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--cell-background-set" title='The "cell-background-set" property'>cell-background-set</a>"      <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--editing" title='The "editing" property'>editing</a>"                  <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--height" title='The "height" property'>height</a>"                   <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a>                  : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--is-expanded" title='The "is-expanded" property'>is-expanded</a>"              <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--is-expander" title='The "is-expander" property'>is-expander</a>"              <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--mode" title='The "mode" property'>mode</a>"                     <a class="link" href="GtkCellRenderer.html#GtkCellRendererMode" title="enum GtkCellRendererMode">GtkCellRendererMode</a>   : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--sensitive" title='The "sensitive" property'>sensitive</a>"                <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--visible" title='The "visible" property'>visible</a>"                  <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--width" title='The "width" property'>width</a>"                    <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a>                  : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--xalign" title='The "xalign" property'>xalign</a>"                   <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"
>gfloat</a>                : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--xpad" title='The "xpad" property'>xpad</a>"                     <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
>guint</a>                 : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--yalign" title='The "yalign" property'>yalign</a>"                   <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"
>gfloat</a>                : Read / Write
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer--ypad" title='The "ypad" property'>ypad</a>"                     <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
>guint</a>                 : Read / Write
</pre>
</div>
<div class="refsect1" lang="en">
<a name="GtkCellRenderer.signals"></a><h2>Signals</h2>
<pre class="synopsis">
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer-editing-canceled" title='The "editing-canceled" signal'>editing-canceled</a>"                               : Run First
  "<a class="link" href="GtkCellRenderer.html#GtkCellRenderer-editing-started" title='The "editing-started" signal'>editing-started</a>"                                : Run First
</pre>
</div>
<div class="refsect1" lang="en">
<a name="GtkCellRenderer.description"></a><h2>Description</h2>
<p>
The <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a> is a base class of a set of objects used for
rendering a cell to a <a
href="/usr/share/gtk-doc/html/gdk/gdk-Drawing-Primitives.html#GdkDrawable"
><span class="type">GdkDrawable</span></a>.  These objects are used primarily by
the <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a> widget, though they aren't tied to them in any
specific way.  It is worth noting that <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a> is not a
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> and cannot be treated as such.
</p>
<p>
The primary use of a <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a> is for drawing a certain graphical
elements on a <a
href="/usr/share/gtk-doc/html/gdk/gdk-Drawing-Primitives.html#GdkDrawable"
><span class="type">GdkDrawable</span></a>.  Typically, one cell renderer is used to
draw many cells on the screen.  To this extent, it isn't expected that a
CellRenderer keep any permanent state around.  Instead, any state is set
just prior to use using <a
href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"
><span class="type">GObject</span></a>s property system.  Then, the
cell is measured using <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-get-size" title="gtk_cell_renderer_get_size ()"><code class="function">gtk_cell_renderer_get_size()</code></a>.  Finally, the cell
is rendered in the correct location using <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-render" title="gtk_cell_renderer_render ()"><code class="function">gtk_cell_renderer_render()</code></a>.
</p>
<p>
There are a number of rules that must be followed when writing a new
<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>.  First and formost, it's important that a certain set
of properties will always yield a cell renderer of the same size,
barring a <a class="link" href="GtkStyle.html" title="Styles"><span class="type">GtkStyle</span></a> change.  The <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a> also has a number of
generic properties that are expected to be honored by all children.
</p>
<p>
Beyond merely rendering a cell, cell renderers can optionally
provide active user interface elements. A cell renderer can be
<em class="firstterm">activatable</em> like <a class="link" href="GtkCellRendererToggle.html" title="GtkCellRendererToggle"><span class="type">GtkCellRendererToggle</span></a>,
which toggles when it gets activated by a mouse click, or it can be
<em class="firstterm">editable</em> like <a class="link" href="GtkCellRendererText.html" title="GtkCellRendererText"><span class="type">GtkCellRendererText</span></a>, which
allows the user to edit the text using a <a class="link" href="GtkEntry.html" title="GtkEntry"><span class="type">GtkEntry</span></a>.
To make a cell renderer activatable or editable, you have to
implement the <em class="parameter"><code>activate</code></em> or <em class="parameter"><code>start_editing</code></em> virtual functions,
respectively.
</p>
</div>
<div class="refsect1" lang="en">
<a name="GtkCellRenderer.details"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="GtkCellRendererState"></a><h3>enum GtkCellRendererState</h3>
<pre class="programlisting">typedef enum
{
  GTK_CELL_RENDERER_SELECTED    = 1 &lt;&lt; 0,
  GTK_CELL_RENDERER_PRELIT      = 1 &lt;&lt; 1,
  GTK_CELL_RENDERER_INSENSITIVE = 1 &lt;&lt; 2,
  /* this flag means the cell is in the sort column/row */
  GTK_CELL_RENDERER_SORTED      = 1 &lt;&lt; 3,
  GTK_CELL_RENDERER_FOCUSED     = 1 &lt;&lt; 4
} GtkCellRendererState;
</pre>
<p>
Tells how a cell is to be rendererd.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GTK-CELL-RENDERER-SELECTED--CAPS"></a><span class="term"><code class="literal">GTK_CELL_RENDERER_SELECTED</code></span></p></td>
<td>The cell is currently selected, and
probably has a selection colored background to render to.
</td>
</tr>
<tr>
<td><p><a name="GTK-CELL-RENDERER-PRELIT--CAPS"></a><span class="term"><code class="literal">GTK_CELL_RENDERER_PRELIT</code></span></p></td>
<td>The mouse is hovering over the cell.
</td>
</tr>
<tr>
<td><p><a name="GTK-CELL-RENDERER-INSENSITIVE--CAPS"></a><span class="term"><code class="literal">GTK_CELL_RENDERER_INSENSITIVE</code></span></p></td>
<td>The cell is drawn in an insensitive manner
</td>
</tr>
<tr>
<td><p><a name="GTK-CELL-RENDERER-SORTED--CAPS"></a><span class="term"><code class="literal">GTK_CELL_RENDERER_SORTED</code></span></p></td>
<td>The cell is in a sorted row
</td>
</tr>
<tr>
<td><p><a name="GTK-CELL-RENDERER-FOCUSED--CAPS"></a><span class="term"><code class="literal">GTK_CELL_RENDERER_FOCUSED</code></span></p></td>
<td>The cell is in the focus row.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRendererMode"></a><h3>enum GtkCellRendererMode</h3>
<pre class="programlisting">typedef enum
{
  GTK_CELL_RENDERER_MODE_INERT,
  GTK_CELL_RENDERER_MODE_ACTIVATABLE,
  GTK_CELL_RENDERER_MODE_EDITABLE
} GtkCellRendererMode;
</pre>
<p>
Identifies how the user can interact with a particular cell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GTK-CELL-RENDERER-MODE-INERT--CAPS"></a><span class="term"><code class="literal">GTK_CELL_RENDERER_MODE_INERT</code></span></p></td>
<td>The cell is just for display
and cannot be interacted with.  Note that this doesn't mean that eg. the
row being drawn can't be selected -- just that a particular element of
it cannot be individually modified.
</td>
</tr>
<tr>
<td><p><a name="GTK-CELL-RENDERER-MODE-ACTIVATABLE--CAPS"></a><span class="term"><code class="literal">GTK_CELL_RENDERER_MODE_ACTIVATABLE</code></span></p></td>
<td>The cell can be clicked.
</td>
</tr>
<tr>
<td><p><a name="GTK-CELL-RENDERER-MODE-EDITABLE--CAPS"></a><span class="term"><code class="literal">GTK_CELL_RENDERER_MODE_EDITABLE</code></span></p></td>
<td>The cell can be edited or otherwise modified.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer-struct"></a><h3>GtkCellRenderer</h3>
<pre class="programlisting">typedef struct _GtkCellRenderer GtkCellRenderer;</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRendererClass"></a><h3>GtkCellRendererClass</h3>
<pre class="programlisting">typedef struct {
  GtkObjectClass parent_class;

  /* vtable - not signals */
  void             (* get_size)      (GtkCellRenderer      *cell,
				      GtkWidget            *widget,
				      GdkRectangle         *cell_area,
				      gint                 *x_offset,
				      gint                 *y_offset,
				      gint                 *width,
				      gint                 *height);
  void             (* render)        (GtkCellRenderer      *cell,
				      GdkDrawable          *window,
				      GtkWidget            *widget,
				      GdkRectangle         *background_area,
				      GdkRectangle         *cell_area,
				      GdkRectangle         *expose_area,
				      GtkCellRendererState  flags);
  gboolean         (* activate)      (GtkCellRenderer      *cell,
				      GdkEvent             *event,
				      GtkWidget            *widget,
				      const gchar          *path,
				      GdkRectangle         *background_area,
				      GdkRectangle         *cell_area,
				      GtkCellRendererState  flags);
  GtkCellEditable *(* start_editing) (GtkCellRenderer      *cell,
				      GdkEvent             *event,
				      GtkWidget            *widget,
				      const gchar          *path,
				      GdkRectangle         *background_area,
				      GdkRectangle         *cell_area,
				      GtkCellRendererState  flags);

  /* Signals */
  void (* editing_canceled) (GtkCellRenderer *cell);
  void (* editing_started)  (GtkCellRenderer *cell,
			     GtkCellEditable *editable,
			     const gchar     *path);

  /* Padding for future expansion */
  void (*_gtk_reserved1) (void);
  void (*_gtk_reserved2) (void);
} GtkCellRendererClass;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtk-cell-renderer-get-size"></a><h3>gtk_cell_renderer_get_size ()</h3>
<pre class="programlisting">void                gtk_cell_renderer_get_size          (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *cell_area,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *x_offset,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *y_offset,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *width,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *height);</pre>
<p>
Obtains the width and height needed to render the cell. Used by view 
widgets to determine the appropriate size for the cell_area passed to
<a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-render" title="gtk_cell_renderer_render ()"><code class="function">gtk_cell_renderer_render()</code></a>.  If <em class="parameter"><code>cell_area</code></em> is not <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>, fills in the
x and y offsets (if set) of the cell relative to this location. 
</p>
<p>
Please note that the values set in <em class="parameter"><code>width</code></em> and <em class="parameter"><code>height</code></em>, as well as those 
in <em class="parameter"><code>x_offset</code></em> and <em class="parameter"><code>y_offset</code></em> are inclusive of the xpad and ypad properties.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell</code></em> :</span></p></td>
<td> a <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>widget</code></em> :</span></p></td>
<td> the widget the renderer is rendering to
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell_area</code></em> :</span></p></td>
<td> The area a cell will be allocated, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x_offset</code></em> :</span></p></td>
<td> location to return x offset of cell relative to <em class="parameter"><code>cell_area</code></em>, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y_offset</code></em> :</span></p></td>
<td> location to return y offset of cell relative to <em class="parameter"><code>cell_area</code></em>, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
<td> location to return width needed to render a cell, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
<td> location to return height needed to render a cell, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtk-cell-renderer-render"></a><h3>gtk_cell_renderer_render ()</h3>
<pre class="programlisting">void                gtk_cell_renderer_render            (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/gdk/gdk-Windows.html#GdkWindow"
>GdkWindow</a> *window,
                                                         <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *background_area,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *cell_area,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *expose_area,
                                                         <a class="link" href="GtkCellRenderer.html#GtkCellRendererState" title="enum GtkCellRendererState">GtkCellRendererState</a> flags);</pre>
<p>
Invokes the virtual render function of the <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>. The three
passed-in rectangles are areas of <em class="parameter"><code>window</code></em>. Most renderers will draw within
<em class="parameter"><code>cell_area</code></em>; the xalign, yalign, xpad, and ypad fields of the <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
should be honored with respect to <em class="parameter"><code>cell_area</code></em>. <em class="parameter"><code>background_area</code></em> includes the
blank space around the cell, and also the area containing the tree expander;
so the <em class="parameter"><code>background_area</code></em> rectangles for all cells tile to cover the entire
<em class="parameter"><code>window</code></em>.  <em class="parameter"><code>expose_area</code></em> is a clip rectangle.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell</code></em> :</span></p></td>
<td> a <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
<td> a <a
href="/usr/share/gtk-doc/html/gdk/gdk-Drawing-Primitives.html#GdkDrawable"
><span class="type">GdkDrawable</span></a> to draw to
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>widget</code></em> :</span></p></td>
<td> the widget owning <em class="parameter"><code>window</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>background_area</code></em> :</span></p></td>
<td> entire cell area (including tree expanders and maybe 
   padding on the sides)
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell_area</code></em> :</span></p></td>
<td> area normally rendered by a cell renderer
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>expose_area</code></em> :</span></p></td>
<td> area that actually needs updating
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td> flags that affect rendering
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtk-cell-renderer-activate"></a><h3>gtk_cell_renderer_activate ()</h3>
<pre class="programlisting"><a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>            gtk_cell_renderer_activate          (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/gdk/gdk-Event-Structures.html#GdkEvent"
>GdkEvent</a> *event,
                                                         <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
                                                         const <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
>gchar</a> *path,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *background_area,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *cell_area,
                                                         <a class="link" href="GtkCellRenderer.html#GtkCellRendererState" title="enum GtkCellRendererState">GtkCellRendererState</a> flags);</pre>
<p>
Passes an activate event to the cell renderer for possible processing.  
Some cell renderers may use events; for example, <a class="link" href="GtkCellRendererToggle.html" title="GtkCellRendererToggle"><span class="type">GtkCellRendererToggle</span></a> 
toggles when it gets a mouse click.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell</code></em> :</span></p></td>
<td> a <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td> a <a
href="/usr/share/gtk-doc/html/gdk/gdk-Event-Structures.html#GdkEvent"
><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>widget</code></em> :</span></p></td>
<td> widget that received the event
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
<td> widget-dependent string representation of the event location; 
   e.g. for <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a>, a string representation of <a class="link" href="GtkTreeModel.html#GtkTreePath" title="GtkTreePath"><span class="type">GtkTreePath</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>background_area</code></em> :</span></p></td>
<td> background area as passed to <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-render" title="gtk_cell_renderer_render ()"><code class="function">gtk_cell_renderer_render()</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell_area</code></em> :</span></p></td>
<td> cell area as passed to <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-render" title="gtk_cell_renderer_render ()"><code class="function">gtk_cell_renderer_render()</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td> render flags
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE--CAPS"
><code class="literal">TRUE</code></a> if the event was consumed/handled
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtk-cell-renderer-start-editing"></a><h3>gtk_cell_renderer_start_editing ()</h3>
<pre class="programlisting"><a class="link" href="GtkCellEditable.html" title="GtkCellEditable">GtkCellEditable</a> *   gtk_cell_renderer_start_editing     (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/gdk/gdk-Event-Structures.html#GdkEvent"
>GdkEvent</a> *event,
                                                         <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *widget,
                                                         const <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
>gchar</a> *path,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *background_area,
                                                         const <a
href="/usr/share/gtk-doc/html/gdk/gdk-Points-Rectangles-and-Regions.html#GdkRectangle"
>GdkRectangle</a> *cell_area,
                                                         <a class="link" href="GtkCellRenderer.html#GtkCellRendererState" title="enum GtkCellRendererState">GtkCellRendererState</a> flags);</pre>
<p>
Passes an activate event to the cell renderer for possible processing.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell</code></em> :</span></p></td>
<td> a <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td> a <a
href="/usr/share/gtk-doc/html/gdk/gdk-Event-Structures.html#GdkEvent"
><span class="type">GdkEvent</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>widget</code></em> :</span></p></td>
<td> widget that received the event
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
<td> widget-dependent string representation of the event location; 
   e.g. for <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a>, a string representation of <a class="link" href="GtkTreeModel.html#GtkTreePath" title="GtkTreePath"><span class="type">GtkTreePath</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>background_area</code></em> :</span></p></td>
<td> background area as passed to <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-render" title="gtk_cell_renderer_render ()"><code class="function">gtk_cell_renderer_render()</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell_area</code></em> :</span></p></td>
<td> cell area as passed to <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-render" title="gtk_cell_renderer_render ()"><code class="function">gtk_cell_renderer_render()</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td> render flags
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> A new <a class="link" href="GtkCellEditable.html" title="GtkCellEditable"><span class="type">GtkCellEditable</span></a>, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtk-cell-renderer-editing-canceled"></a><h3>gtk_cell_renderer_editing_canceled ()</h3>
<pre class="programlisting">void                gtk_cell_renderer_editing_canceled  (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell);</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">gtk_cell_renderer_editing_canceled</code> has been deprecated since version 2.6 and should not be used in newly-written code. Use <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-stop-editing" title="gtk_cell_renderer_stop_editing ()"><code class="function">gtk_cell_renderer_stop_editing()</code></a> instead</p>
</div>
<p>
Causes the cell renderer to emit the <a class="link" href="GtkCellRenderer.html#GtkCellRenderer-editing-canceled" title='The "editing-canceled" signal'><span class="type">"editing-canceled"</span></a> 
signal.  
</p>
<p>
This function is for use only by implementations of cell renderers that 
need to notify the client program that an editing process was canceled 
and the changes were not committed.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>cell</code></em> :</span></p></td>
<td> A <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
</td>
</tr></tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtk-cell-renderer-stop-editing"></a><h3>gtk_cell_renderer_stop_editing ()</h3>
<pre class="programlisting">void                gtk_cell_renderer_stop_editing      (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> canceled);</pre>
<p>
Informs the cell renderer that the editing is stopped.
If <em class="parameter"><code>canceled</code></em> is <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE--CAPS"
><code class="literal">TRUE</code></a>, the cell renderer will emit the 
<a class="link" href="GtkCellRenderer.html#GtkCellRenderer-editing-canceled" title='The "editing-canceled" signal'><span class="type">"editing-canceled"</span></a> signal. 
</p>
<p>
This function should be called by cell renderer implementations 
in response to the <a class="link" href="GtkCellEditable.html#GtkCellEditable-editing-done" title='The "editing-done" signal'><span class="type">"editing-done"</span></a> signal of 
<a class="link" href="GtkCellEditable.html" title="GtkCellEditable"><span class="type">GtkCellEditable</span></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell</code></em> :</span></p></td>
<td> A <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>canceled</code></em> :</span></p></td>
<td> <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE--CAPS"
><code class="literal">TRUE</code></a> if the editing has been canceled
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.6</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtk-cell-renderer-get-fixed-size"></a><h3>gtk_cell_renderer_get_fixed_size ()</h3>
<pre class="programlisting">void                gtk_cell_renderer_get_fixed_size    (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *width,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> *height);</pre>
<p>
Fills in <em class="parameter"><code>width</code></em> and <em class="parameter"><code>height</code></em> with the appropriate size of <em class="parameter"><code>cell</code></em>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell</code></em> :</span></p></td>
<td> A <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
<td> location to fill in with the fixed width of the widget, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
<td> location to fill in with the fixed height of the widget, or <a
href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#NULL--CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtk-cell-renderer-set-fixed-size"></a><h3>gtk_cell_renderer_set_fixed_size ()</h3>
<pre class="programlisting">void                gtk_cell_renderer_set_fixed_size    (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *cell,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> width,
                                                         <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a> height);</pre>
<p>
Sets the renderer size to be explicit, independent of the properties set.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cell</code></em> :</span></p></td>
<td> A <a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer"><span class="type">GtkCellRenderer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
<td> the width of the cell renderer, or -1
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
<td> the height of the cell renderer, or -1
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="GtkCellRenderer.property-details"></a><h2>Property Details</h2>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--cell-background"></a><h3>The <code class="literal">"cell-background"</code> property</h3>
<pre class="programlisting">  "cell-background"          <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
>gchar</a>*                : Write</pre>
<p>Cell background color as a string.</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--cell-background-gdk"></a><h3>The <code class="literal">"cell-background-gdk"</code> property</h3>
<pre class="programlisting">  "cell-background-gdk"      <a
href="/usr/share/gtk-doc/html/gdk/gdk-Colormaps-and-Colors.html#GdkColor"
>GdkColor</a>*             : Read / Write</pre>
<p>Cell background color as a GdkColor.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--cell-background-set"></a><h3>The <code class="literal">"cell-background-set"</code> property</h3>
<pre class="programlisting">  "cell-background-set"      <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Whether this tag affects the cell background color.</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--editing"></a><h3>The <code class="literal">"editing"</code> property</h3>
<pre class="programlisting">  "editing"                  <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read</pre>
<p>Whether the cell renderer is currently in editing mode.</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--height"></a><h3>The <code class="literal">"height"</code> property</h3>
<pre class="programlisting">  "height"                   <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a>                  : Read / Write</pre>
<p>The fixed height.</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--is-expanded"></a><h3>The <code class="literal">"is-expanded"</code> property</h3>
<pre class="programlisting">  "is-expanded"              <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Row is an expander row, and is expanded.</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--is-expander"></a><h3>The <code class="literal">"is-expander"</code> property</h3>
<pre class="programlisting">  "is-expander"              <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Row has children.</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--mode"></a><h3>The <code class="literal">"mode"</code> property</h3>
<pre class="programlisting">  "mode"                     <a class="link" href="GtkCellRenderer.html#GtkCellRendererMode" title="enum GtkCellRendererMode">GtkCellRendererMode</a>   : Read / Write</pre>
<p>Editable mode of the CellRenderer.</p>
<p>Default value: GTK_CELL_RENDERER_MODE_INERT</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--sensitive"></a><h3>The <code class="literal">"sensitive"</code> property</h3>
<pre class="programlisting">  "sensitive"                <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Display the cell sensitive.</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--visible"></a><h3>The <code class="literal">"visible"</code> property</h3>
<pre class="programlisting">  "visible"                  <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Display the cell.</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--width"></a><h3>The <code class="literal">"width"</code> property</h3>
<pre class="programlisting">  "width"                    <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"
>gint</a>                  : Read / Write</pre>
<p>The fixed width.</p>
<p>Allowed values: &gt;= -1</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--xalign"></a><h3>The <code class="literal">"xalign"</code> property</h3>
<pre class="programlisting">  "xalign"                   <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"
>gfloat</a>                : Read / Write</pre>
<p>The x-align.</p>
<p>Allowed values: [0,1]</p>
<p>Default value: 0.5</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--xpad"></a><h3>The <code class="literal">"xpad"</code> property</h3>
<pre class="programlisting">  "xpad"                     <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
>guint</a>                 : Read / Write</pre>
<p>The xpad.</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--yalign"></a><h3>The <code class="literal">"yalign"</code> property</h3>
<pre class="programlisting">  "yalign"                   <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"
>gfloat</a>                : Read / Write</pre>
<p>The y-align.</p>
<p>Allowed values: [0,1]</p>
<p>Default value: 0.5</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer--ypad"></a><h3>The <code class="literal">"ypad"</code> property</h3>
<pre class="programlisting">  "ypad"                     <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"
>guint</a>                 : Read / Write</pre>
<p>The ypad.</p>
<p>Default value: 0</p>
</div>
</div>
<div class="refsect1" lang="en">
<a name="GtkCellRenderer.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer-editing-canceled"></a><h3>The <code class="literal">"editing-canceled"</code> signal</h3>
<pre class="programlisting">void                user_function                      (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *renderer,
                                                        <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
>gpointer</a>         user_data)      : Run First</pre>
<p>
This signal gets emitted when the user cancels the process of editing a
cell.  For example, an editable cell renderer could be written to cancel
editing when the user presses Escape.
</p>
<p>
See also: <a class="link" href="GtkCellRenderer.html#gtk-cell-renderer-stop-editing" title="gtk_cell_renderer_stop_editing ()"><code class="function">gtk_cell_renderer_stop_editing()</code></a>.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>renderer</code></em> :</span></p></td>
<td> the object which received the signal
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
<p>Since 2.4</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="GtkCellRenderer-editing-started"></a><h3>The <code class="literal">"editing-started"</code> signal</h3>
<pre class="programlisting">void                user_function                      (<a class="link" href="GtkCellRenderer.html" title="GtkCellRenderer">GtkCellRenderer</a> *renderer,
                                                        <a class="link" href="GtkCellEditable.html" title="GtkCellEditable">GtkCellEditable</a> *editable,
                                                        <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"
>gchar</a>           *path,
                                                        <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer"
>gpointer</a>         user_data)      : Run First</pre>
<p>
This signal gets emitted when a cell starts to be edited.
The indended use of this signal is to do special setup
on <em class="parameter"><code>editable</code></em>, e.g. adding a <a class="link" href="GtkEntryCompletion.html" title="GtkEntryCompletion"><span class="type">GtkEntryCompletion</span></a> or setting
up additional columns in a <a class="link" href="GtkComboBox.html" title="GtkComboBox"><span class="type">GtkComboBox</span></a>.
</p>
<p>
Note that GTK+ doesn't guarantee that cell renderers will
continue to use the same kind of widget for editing in future
releases, therefore you should check the type of <em class="parameter"><code>editable</code></em>
before doing any specific setup, as in the following example:
</p>
<div class="informalexample"><pre class="programlisting">
static void
text_editing_started (GtkCellRenderer *cell,
                      GtkCellEditable *editable,
                      const gchar     *path,
                      gpointer         data)
{
  if (GTK_IS_ENTRY (editable)) 
    {
      GtkEntry *entry = GTK_ENTRY (editable);
      
      /* ... create a GtkEntryCompletion */
      
      gtk_entry_set_completion (entry, completion);
    }
}
</pre></div>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>renderer</code></em> :</span></p></td>
<td> the object which received the signal
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>editable</code></em> :</span></p></td>
<td> the <a class="link" href="GtkCellEditable.html" title="GtkCellEditable"><span class="type">GtkCellEditable</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
<td> the path identifying the edited cell
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
<p>Since 2.6</p>
</div>
</div>
<div class="refsect1" lang="en">
<a name="GtkCellRenderer.see-also"></a><h2>See Also</h2>
<p>
<a class="link" href="GtkCellRendererText.html" title="GtkCellRendererText"><span class="type">GtkCellRendererText</span></a>,<a class="link" href="GtkCellRendererPixbuf.html" title="GtkCellRendererPixbuf"><span class="type">GtkCellRendererPixbuf</span></a>,<a class="link" href="GtkCellRendererToggle.html" title="GtkCellRendererToggle"><span class="type">GtkCellRendererToggle</span></a>
</p>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.11</div>
</body>
</html>
